/** Map Integer to int, Character to char, etc. */
private Class toPrim(Class wrapper) {
if (wraptab == null) wraptab = makeWraptab();
for (int i = 0; i < wraptab.length; i++)
if (wrapper == wraptab[i][0])
return wraptab[i][1];
return wrapper;
}
private Class wraptab[][] = null;
private Class[][] makeWraptab() {
return new Class[][] {
{ Short.class, short.class },
{ Byte.class, byte.class },
{ Character.class, char.class },
{ Integer.class, Integer.TYPE },
{ Long.class, Long.TYPE },
{ Float.class, Float.TYPE },
{ Double.class, Double.TYPE },
{ Boolean.class, Boolean.TYPE },
};
}
|